Skip to content

Conversation

cratelyn
Copy link
Member

@cratelyn cratelyn commented May 6, 2025

🚧 🚧 🚧

cratelyn added 3 commits May 5, 2025 21:42
this is a small mechanical refactor to the http/1 client.

our http/2 and "orig_proto" clients are tower services. our http/1
client, on the other hand, exposes a concrete inherent method `request`.

to be consistent, this changes our http client to treat this http/1
client as a service as well.

Signed-off-by: katelyn martin <[email protected]>
this commit introduces a concrete error type for the `orig_proto`
upgrade layer.

this layer is used by the proxy's http client to transparently upgrade
outbound http/1 traffic to http/2. rather than boxing errors, we define
a concrete error type to facilitate inspecting errors in the future.

for now, the top-level http client continues to box errors thrown by the
"orig_proto" upgrade client.

Signed-off-by: katelyn martin <[email protected]>
@cratelyn cratelyn self-assigned this May 6, 2025
@cratelyn cratelyn force-pushed the kate/proxy-http.concrete-type-for-downgrade-errors branch from c50c590 to 7382b65 Compare May 12, 2025 19:42
Base automatically changed from kate/proxy-http.concrete-type-for-downgrade-errors to main May 12, 2025 19:59
@cratelyn
Copy link
Member Author

cratelyn commented Aug 5, 2025

leaving a note here:

i'm driving some work upstream to help us adopt try_send_request. see hyperium/hyper#3883 (comment), hyperium/hyper#3922, and hyperium/hyper#3892.

there are still some open design questions about what this should look like, and on our end it will require some thought to figure out how we should dispatch recovered requests within our tower-oriented architecture.

because this has been a draft for a while now, i'm going to close this. we can pick it back up at a later date.

@cratelyn cratelyn closed this Aug 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant